//package com.fhnew.app.ui.activity;
//
//import android.annotation.TargetApi;
//import android.app.Activity;
//import android.content.ClipData;
//import android.content.Context;
//import android.content.Intent;
//import android.content.pm.ActivityInfo;
//import android.content.res.Configuration;
//import android.net.Uri;
//import android.net.http.SslError;
//import android.os.Build;
//import android.os.Bundle;
//import android.os.Handler;
//import android.support.v7.app.AppCompatActivity;
//import android.view.KeyEvent;
//import android.view.View;
//import android.view.WindowManager;
//import android.webkit.SslErrorHandler;
//import android.webkit.ValueCallback;
//import android.webkit.WebChromeClient;
//import android.webkit.WebSettings;
//import android.webkit.WebView;
//import android.webkit.WebViewClient;
//import android.widget.ImageView;
//import android.widget.ProgressBar;
//
//import com.fhnew.app.model.internet.model.ThirdGameModel;
//import com.fhnew.app.util.ActivityUtil;
//import com.fhnew.app.util.HLog;
//import com.sonnyjack.widget.dragview.SonnyJackDragView;
//import com.fhnew.app.R;
//import com.fhnew.app.util.BaseLoadingDialog;
//import com.fhnew.app.util.SYSOUtils;
//
///**
// * 游戏webview
// * 优化
// */
//public class WebActivityGame extends AppCompatActivity {
//
//    private WebView webView;
//    private String url;//加载地址
//    private int game_id;//游戏ID
//    private int portrait;
//    private String content;//富文本
//    private ProgressBar progress;
//    private BaseLoadingDialog dialog;
//    private boolean flag = true;
//    private ThirdGameModel gameMoneyModel;
//
//    public static void startActivity (Context context, String url, int game_id, int portrait) {
//        Intent intent = new Intent(context, WebActivityGame.class);
//        intent.putExtra("url", url);
//        intent.putExtra("game_id", game_id);
//        intent.putExtra("portrait", portrait);
//        context.startActivity(intent);
//    }
//
//    @Override
//    protected void onCreate (Bundle savedInstanceState) {
//        ActivityUtil.fullScreen(this);
//        super.onCreate(savedInstanceState);
//        Intent intent = getIntent();
//        url = intent.getStringExtra("url");
//        game_id = intent.getIntExtra("game_id", 0);
//        content = intent.getStringExtra("content");
//
//
//
//        portrait = intent.getIntExtra("portrait", 0);
//        switch (portrait) {
//            case 0:
//                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
//                break;
//            case 1:
//                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
//                break;
//            case 2:
//                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
//                break;
//        }
//
//        setContentView(R.layout.activity_web_game);
//
//        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
//                WindowManager.LayoutParams.FLAG_FULLSCREEN);// 设置全屏
//        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);   //应用运行时，保持屏幕高亮，不锁屏
//
//
//        gameMoneyModel = ThirdGameModel.getInstance(this);
//
//
//        //这里开始显示加载框
//        dialog = new BaseLoadingDialog(this, R.style.CustomDialog);
//        dialog.show();
//
//
//        webView = (WebView) findViewById(R.id.mywebview);
//        progress = findViewById(R.id.progress);
//        WebSettings webSettings = webView.getSettings();
//        webSettings.setJavaScriptEnabled(true);//允许运行JavaScript
//        webSettings.setDomStorageEnabled(true);
//        //不支持缓存
//        webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
//        //支持屏幕缩放
//        webSettings.setSupportZoom(true);
//        webSettings.setBuiltInZoomControls(true);
//
//        /**
//         *   5.0以上
//         */
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//            webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
//        }
////        String ua = webView.getSettings().getUserAgentString();
////        webView.getSettings().setUserAgentString(ua + "; 自定义标记");
//        if (url != null) {
//
//            webView.loadUrl(url);             //加载外网
//            webView.setWebViewClient(new WebViewClient() {
//                public boolean shouldOverrideUrlLoading (WebView view, String url) {
//                    if (url.startsWith("http:") || url.startsWith("https:")) {
//                        return false;
//                    }
//                    return true;
//
//                }
//
//                @Override
//                public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) {
//                    handler.proceed();
//                }
//            });
//        } else {
//
//            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//                webView.getSettings().setMixedContentMode(webView.getSettings().MIXED_CONTENT_ALWAYS_ALLOW);  //注意安卓5.0以上的权限
//            }
//            webView.loadDataWithBaseURL("", content, "text/html", "UTF-8", null);
//        }
//
//        webView.setWebChromeClient(new WebChromeClient() {
//            @Override
//            public void onProgressChanged (WebView view, int newProgress) {
//                // 获得网页的加载进度 newProgress为当前加载百分比
//                super.onProgressChanged(view, newProgress);
//                progress.setProgress(newProgress);
//                if (newProgress == 100) {
//                    progress.setVisibility(View.GONE);
//                    //这里消失加载框
//                    if (dialog != null) {
//                        dialog.dismiss();
//                    }
//                }
//            }
//
//            @Override
//            public void onReceivedTitle (WebView view, String title) {
//                super.onReceivedTitle(view, title);
////                mtitle.setText(title+"");
//            }
//
//            public void openFileChooser (ValueCallback<Uri> uploadMsg) {
//                mUploadMessage = uploadMsg;
//                Intent i = new Intent(Intent.ACTION_GET_CONTENT);
//                i.addCategory(Intent.CATEGORY_OPENABLE);
//                i.setType("*/*");
//                WebActivityGame.this.startActivityForResult(Intent.createChooser(i, "File Chooser"), 106);
//            }
//
//            public void openFileChooser (ValueCallback uploadMsg, String acceptType) {
//                mUploadMessage = uploadMsg;
//                Intent i = new Intent(Intent.ACTION_GET_CONTENT);
//                i.addCategory(Intent.CATEGORY_OPENABLE);
//                i.setType("*/*");
//                WebActivityGame.this.startActivityForResult(
//                        Intent.createChooser(i, "File Browser"),
//                        106);
//            }
//
//            public void openFileChooser (ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
//                mUploadMessage = uploadMsg;
//                Intent i = new Intent(Intent.ACTION_GET_CONTENT);
//                i.addCategory(Intent.CATEGORY_OPENABLE);
//                i.setType("*/*");
//                WebActivityGame.this.startActivityForResult(Intent.createChooser(i, "File Browser"), 106);
//            }
//
//            // For Android 5.0+
//            public boolean onShowFileChooser (WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
//                mUploadCallbackAboveL = filePathCallback;
//                Intent i = new Intent(Intent.ACTION_GET_CONTENT);
//                i.addCategory(Intent.CATEGORY_OPENABLE);
//                i.setType("*/*");
//                WebActivityGame.this.startActivityForResult(
//                        Intent.createChooser(i, "File Browser"),
//                        106);
//                return true;
//            }
//        });
//        //加载悬浮按钮
//        ImageView imageView = new ImageView(WebActivityGame.this);
//        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
//        imageView.setImageResource(R.mipmap.changeimg);
//        SonnyJackDragView sonnyJackDragView = new SonnyJackDragView.Builder()
//                .setActivity(WebActivityGame.this)//当前Activity，不可为空
//                .setDefaultLeft(30)//初始位置左边距
//                .setDefaultTop(300)//初始位置上边距
//                .setNeedNearEdge(false)//拖动停止后，是否移到边沿
//                .setSize(130)//DragView大小
//                .setView(imageView)//设置自定义的DragView，切记不可为空
//                .build();
//        imageView.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick (View v) {
//                flag = true;
//                SYSOUtils.sOut_("游戏余额===========================================将要退出游戏");
//                finish();
//                final Handler mHandler = new Handler();
//                mHandler.post(new Runnable() {
//                    @Override
//                    public void run () {
//                        if (flag) {
//                            flag = false;
//                            gameMoneyModel.getThirdMoneyChange(game_id+"");
////                            Sign_out_game();
//                            mHandler.postDelayed(this, 2500);
//                        }
//
//                    }
//                });
//            }
//        });
//
//
//
//        Intent intent1 = new Intent(this,X5WebActivity.class);
//        intent1.putExtra("url",url);
//        startActivity(intent1);
//        finish();
//        return;
//    }
//
////    /**
////     * 退出游戏，下分
////     */
////    private void Sign_out_game() {
////        HttpJsonUtils.getHttpApiInstance()
////                .Sign_out_game(Constants.getuseAdress() + "api/GamesApi/allDown", Info.Token)
////                .subscribeOn(Schedulers.io())
////                .observeOn(AndroidSchedulers.mainThread())
////                .subscribe(new CustomObserver<Resmsg>() {
////                    @Override
////                    protected void onCustomNext(Resmsg resmsg) {
////                        if (resmsg.code == 0) {
////                            SYSOUtils.sOut_("游戏余额===========================================退出游戏");
//////                            Toast.makeText(WebActivityGame.this, "退出成功", Toast.LENGTH_SHORT).show();
////                        } else {
////                            Toast.makeText(WebActivityGame.this, resmsg.msg + "请联系客服", Toast.LENGTH_SHORT).show();
////                        }
////                    }
////
////                    @Override
////                    protected void onSubscribeCustom(Disposable disposable) {
////
////                    }
////
////                    @Override
////                    protected void onErrorCustom(Throwable e) {
////
////                    }
////                });
////    }
//
//    ValueCallback<Uri[]> mUploadCallbackAboveL;
//    ValueCallback<Uri> mUploadMessage;
//
//    @Override
//    protected void onActivityResult (int requestCode, int resultCode, Intent data) {
//        super.onActivityResult(requestCode, resultCode, data);
//        if (requestCode == 106) {
//            if (null == mUploadMessage && null == mUploadCallbackAboveL) return;
//            Uri result = data == null || resultCode != RESULT_OK ? null : data.getData();
//            if (mUploadCallbackAboveL != null) {
//                onActivityResultAboveL(requestCode, resultCode, data);
//            } else if (mUploadMessage != null) {
//                mUploadMessage.onReceiveValue(result);
//                mUploadMessage = null;
//            }
//        }
//    }
//
//    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
//    private void onActivityResultAboveL (int requestCode, int resultCode, Intent data) {
//        if (requestCode != 106
//                || mUploadCallbackAboveL == null) {
//            return;
//        }
//        Uri[] results = null;
//        if (resultCode == Activity.RESULT_OK) {
//            if (data == null) {
//            } else {
//                String dataString = data.getDataString();
//                ClipData clipData = data.getClipData();
//                if (clipData != null) {
//                    results = new Uri[clipData.getItemCount()];
//                    for (int i = 0; i < clipData.getItemCount(); i++) {
//                        ClipData.Item item = clipData.getItemAt(i);
//                        results[i] = item.getUri();
//                    }
//                }
//                if (dataString != null)
//                    results = new Uri[]{Uri.parse(dataString)};
//            }
//        }
//        mUploadCallbackAboveL.onReceiveValue(results);
//        mUploadCallbackAboveL = null;
//        return;
//    }
//
//
////    @Override
////    protected int setContentView() {
////        return R.layout.activity_web_game;
////    }
//
//    @Override
//    //设置回退
//    public boolean onKeyDown (int keyCode, KeyEvent event) {
//        if ((keyCode == KeyEvent.KEYCODE_BACK)) {
//            if (webView.canGoBack()) {
//                webView.goBack(); //调用goBack()返回WebView的上一页面
//            } else {
//                finish();
//                flag = true;
//                final Handler mHandler = new Handler();
//                mHandler.post(new Runnable() {
//                    @Override
//                    public void run () {
//                        if (flag) {
//                            flag = false;
//                            gameMoneyModel.getThirdMoneyChange(game_id+"");
////                            Sign_out_game();
//                            mHandler.postDelayed(this, 2500);
//                        }
//
//                    }
//                });
//            }
//            return true;
//        }
//        return false;
//    }
//
//    @Override
//    protected void onDestroy () {
//        super.onDestroy();
//
//        webView.clearCache(true);
//        webView.destroy();
//    }
//
//
//}